package org.example.restudying2.service;

import org.example.restudying2.DTo.SalescroerDTo;
import org.example.restudying2.Vo.SalescroerVo;
import org.example.restudying2.mapper.SalescroerMapper;
import org.example.restudying2.pojo.Salescroer;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class salescroerService {
    @Resource
    SalescroerMapper salescroerMapper;
//分页查询------
    public Map<String, Object> selectSalescroerByLimit(SalescroerVo salescroerVo){
        Map<String, Object> map = new HashMap<>();
        int index = (salescroerVo.getPage()-1)*salescroerVo.getLimit();
        SalescroerDTo salescroerDTo = new SalescroerDTo();
        BeanUtils.copyProperties(salescroerVo,salescroerDTo);//把vo与dto相同的属性的值，copy到dto种
        salescroerDTo.setIndex(index);
        List<Salescroer> salescroers = this.salescroerMapper.selectSalescroerByLimit(salescroerDTo);
        map.put("code", 0);
        map.put("msg","分页查询成功");
        map.put("count", this.salescroerMapper.selectCount(salescroerDTo));
        map.put("data",salescroers);
        return map;
    }
    public Map<String, Object> insert(Salescroer salescroer) {
        Map<String, Object> map = new HashMap<>();
        this.salescroerMapper.insert(salescroer);
        map.put("code", 200);
        map.put("msg","销售绩效添加成功");
        map.put("data",salescroer);
        return map;
    }

    public  Map<String,Object> deleteById(Integer id){
        Map<String, Object> map = new HashMap<>();
        this.salescroerMapper.deleteById(id);
        map.put("code", 200);
        map.put("msg","删除成功");
        map.put("data",id);
        return map;
    }

    public  Map<String,Object> update(Salescroer salescroer){
        Map<String, Object> map = new HashMap<>();
        this.salescroerMapper.update(salescroer);
        map.put("code", 200);
        map.put("msg","修改成功");
//        有问题 测试
        map.put("try",salescroer);
        return map;
    }

    public  Map<String,Object> selectById(Integer id){
        Map<String, Object> map = new HashMap<>();
        map.put("code", 200);
        map.put("msg","获取用户成功");
        map.put("data",this.salescroerMapper.selectById(id));
        return map;
    }
}
